perm filename OO3.FAI[TMP,LCS]1 blob
sn#152812 filedate 1975-03-30 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00008 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE OO
C00004 00003 MVM: HRLI OU,400000(MA)
C00006 00004 BACK: HRRZI 6,-2(CX)
C00008 00005 FIXIT: SETZM OUTFLG
C00010 00006 GETO: MOVEM EN,TMP
C00012 00007 PTBEG: SKIPL PTFLG
C00014 00008 FILIN: OPEN DEVN
C00015 ENDMK
C⊗;
TITLE OO
EXTERNAL JOBDDT,JOBOPC
EXTERNAL JOBAPR,JOBTPC
EN←7 ↔ TS←10 ↔ OU←11
CX←13 ↔ MA←14 ↔ N←15
INT: RESET
OUTSTR CRLF
STAR: HRRZI N,MEM
CLRBFI
OUTSTR ASTR
INCHWL EN
CAIN EN,15
JRST STAR
HRRZI TS,(N)
INLIN: HRRZM EN,(TS)
SETZM 1(TS)
ADDI TS,2
INCHRS EN
CAIA
JRST INLIN
SUBI TS,4
HRRZ EN,2(TS)
TRNN EN,600
JRST MAIN
CAIN EN,612
JRST DDTST
CAIN EN,302
JRST PTBEG
CAIN EN,311
JRST FILIN
CAIN EN,317
JRST FILO
CAIN EN,305
JRST PTEND
SETOM OUTFLG
TRNE EN,400
SETOM RFLG
CAIE EN,301
JRST .+3
SETOM ADFLG
JRST .+4
CAIE EN,314
JRST MAIN+1
SETOM LITF
ADDI TS,2
OUTSTR CRLF
MAIN: OUTSTR SPACE
HRRZI MA,MEM
HRRZI CX,(N)
JRST BGIN
MVM: HRLI OU,400000(MA)
HRRZI 6,2
JRST LMVM
LAEQ: HRRZI 6,2
CAIE OU,(MA)
ADDI 6,2
SUBI 5,2
HLL OU,(5)
LMVM: MOVEM OU,(5)
SETZM 1(5)
ADDI 5,2
SUBI TS,(6)
ADDI 6,(5)
HRLZI 6,(6)
HRRI 6,(5)
BLT 6,(TS)
JRST LKMO
FDEQ: MOVE 4,(MA)
HRRZI 5,(N)
LKMO: CAMN 4,(5)
JRST EQU
ADIN: ADDI 5,2
CAIGE 5,(TS)
JRST LKMO
ADDI MA,2
BGIN: CAIGE MA,(N)
JRST FDEQ
HRRZI MA,(CX)
ADDI N,2
CAIGE N,(TS)
JRST FDEQ
JRST BACK
EQU: HRRZI OU,(MA)
CAILE TS,2(5)
CAIG N,2(MA)
JRST CKLA
MOVE 6,2(MA)
CAMN 6,2(5)
HRRI OU,2(MA)
CKLA: CAIGE 5,2(N)
JRST .+4
HRRZ 6,-2(5)
CAIN MA,2(6)
JRST LAEQ
CAIE OU,(MA)
JRST MVM
SKIPGE 1(5)
JRST ADIN
HRLI OU,400001(OU)
AOJ OU,
MOVEM OU,1(5)
CAIGE CX,-2(TS)
JRST ADIN
BACK: HRRZI 6,-2(CX)
ADDI 6,2
SKIPGE 1(6)
JRST NEGA+1
SKIPGE OU,(6)
AOBJN OU,NEGA
HRRZI OU,(6)
HRLI OU,400000(6)
NEGA: MOVEM OU,1(6)
CAIGE 6,-2(TS)
JRST BACK+1
CAIE TS,2(CX)
JRST NOT1
SUBI TS,2
MOVE EN,(TS)
SUB OU,ONEB
CAME OU,EN
CAIN CX,(OU)
JRST NEW1
SKIPGE OUTFLG
AOBJN OU,FIXIT
HRRZI EN,1(OU)
AOBJN OU,GETO
NEW1: SKIPL OUTFLG
AOBJN OU,GETO
HRRZI OU,1(CX)
HRLI OU,400000(OU)
JRST FIXIT-1
NOT1: HRRZI EN,-2(TS)
HRLI EN,400000(CX)
MOVE OU,EN
AOBJP OU,
SKIPL OUTFLG
JRST GETO
MOVEM EN,(TS)
MOVEM OU,1(TS)
HRRZI OU,1(TS)
HRLI OU,400000(OU)
SKIPL ADFLG
ADDI TS,2
FIXIT: SETZM OUTFLG
SKIPGE EN,TMP
JRST NSEEN
CKFLS: SKIPGE ADFLG
JRST ADER
SKIPGE LITF
JRST LITA
SKIPGE RFLG
JRST RPLACE
MOVEM OU,(EN)
JRST GETO
LITA: SUB OU,ONEB
MOVEM OU,(EN)
SETZM LITF
JRST GETO
NSEEN: MOVEM EN,(TS)
HRRZI EN,1(TS)
ADDI TS,2
JRST CKFLS
RPLACE: HRR OU,(OU)
TLZ OU,400000
TRO OU,400000
MOVEM OU,(EN)
SETZM RFLG
JRST GETO
ADER: MOVE 5,(EN)
MOVE 4,-1(5)
MOVEM 4,(TS)
MOVEM 5,1(TS)
MOVE 4,-1(OU)
MOVEM 4,2(TS)
MOVEM OU,3(TS)
HRRZI OU,2(TS)
HRLI OU,400000(TS)
MOVEM OU,4(TS)
AOBJP OU,
MOVEM OU,5(TS)
HRRZI OU,5(TS)
HRLI OU,400000(OU)
MOVEM OU,(EN)
ADDI TS,6
SETZM ADFLG
GETO: MOVEM EN,TMP
HRRM TS,STAR
HRRZI MA,(TS)
HRLI MA,700
ADDI TS,200
TLZN OU,400000
TRNN OU,400000
JRST GOUT
MOVE EN,OU
HRRZI 4,777775
JRST MKOUT
PUDO: HRLI OU,(4)
PUSH TS,OU
MOVE OU,EN
GOUT: HLRZ 4,OU
MOR: MOVE EN,(4)
TLZE EN,400000
JRST PUDO
TRNN EN,400000
JRST DPCH
MKOUT: HLRZ 6,EN
HRLI EN,(EN)
TRZ EN,400000
MOVEM EN,(6)
CAIA
DPCH: IDPB EN,MA
ADO: ADDI 4,2
CAIG 4,(OU)
JRST MOR
TLNN TS,777777
JRST TYOUT
POP TS,OU
HLRZ 4,OU
JRST ADO
TYOUT: HRRZI EN,15
IDPB EN,MA
HRRZI EN,12
IDPB EN,MA
SETZ EN,
IDPB EN,MA
SUBI TS,177
SKIPGE PTFLG
JRST PTOUT
OUTSTR (TS)
JRST STAR
PTBEG: SKIPL PTFLG
PTYGET EN
JRST STAR
MOVEM EN,PTNUM
HRRZI TS,5
PTJOBX EN
JRST STAR
HRRZI TS,3
PTJOBX EN
HRRZI EN,INTRU
HRRZM EN,JOBAPR
HRLZI EN,1000
INTORM EN,
SETOM PTFLG
JRST STAR-1
IPC: 0 ↔ ITS: 0
IEN: 0
INTRU: HRRZ 12,JOBTPC
HRRZM 12,IPC
CAIE 12,STAR+3
UWAIT
DEBREAK
MOVEM TS,ITS
MOVEM EN,IEN
HRRZ EN,PTNUM
OUTS: HRRZI TS,PTNUM+2
PTRDS EN
OUTSTR (TS)
PTOCNT EN
JUMPG TS,OUTS
MOVE TS,ITS
MOVE EN,IEN
CAIN 12,STAR+3
HRRZ N,STAR
JRST @IPC
PTOUT: HRRZI 6,(TS)
MOVE EN,PTNUM
PTWRS7 EN
JRST STAR
PTEND: SETZM PTFLG
HRRZ EN,PTNUM
PTYREL EN
JRST STAR-1
DDTST: SKIPN JOBDDT
JRST STAR
HRRZI OU,INT
MOVEM OU,JOBOPC
HRRZ OU,JOBDDT
JRST (OU)
FILIN: OPEN DEVN
JRST ERRO
SETZM FNAME+3
LOOKUP FNAME
JRST ERRO
MOVE EN,INPO
SETZ TS,
INPUT EN
CLOSE
HRRZ N,SVN
HRRM N,STAR
JRST INT
FILO: OPEN DEVN
JRST ERRO
SETZM FNAME+3
ENTER FNAME
JRST ERRO
HRRM N,SVN
MOVE EN,INPO
SETZ TS,
OUTPUT EN
CLOSE
JRST INT
ERRO: OUTSTR QMARK
JRST INT
QMARK: 45767706424
INPO: IOWD 20000,SVN
DEVN: 17
SIXBIT/DSK/
0
FNAME: SIXBIT/ALY/
SIXBIT/OOP/
BLOCK 2
CRLF: 64240,,0
ASTR: ASCIZ/*/
SPACE: ASCIZ/ /
ONEB: 1,,1 ↔ TMP: 0
OUTFLG: 0 ↔ RFLG: 0
LITF: 0 ↔ ADFLG: 0
PTFLG: 0 ↔ PTNUM: 0
LOC 15000
SVN: 0
MEM: BLOCK 20000
END INT